TypeScript 50.6%
JavaScript 46.1%
SQL 2.1%
Shell 0.6%
CSS 0.5%
1import { NextRequest, NextResponse } from "next/server";2import { z } from "zod";3import { assertSameOrigin, requireUser } from "@/lib/auth/session";4import { updateViewing } from "@/lib/inquiries/service";5import { handle, parseBody } from "@/lib/api";6export const dynamic = "force-dynamic";7const Body = z.object({ action: z.enum(["confirm", "cancel", "done"]), slot: z.string().datetime({ offset: true }).optional() });8export async function PATCH(req: NextRequest, { params }: { params: Promise<{ id: string }> }) { try { await assertSameOrigin(); const u = await requireUser(); const { id } = await params; const b = await parseBody(req, Body); await updateViewing(id, u.id, b.action, b.slot); return NextResponse.json({ ok: true }); } catch (e) { return handle(e); } }9